// Fill out your copyright notice in the Description page of Project Settings.

#pragma once

#include "CoreMinimal.h"
#include "UObject/Interface.h"
#include "CommonEnum.h"
#include "PlayerControllerInterface.generated.h"

UINTERFACE(MinimalAPI)
class UPlayerControllerInterface : public UInterface
{
	GENERATED_BODY()
};

class MISCELLANEOUSPROJECT_API IPlayerControllerInterface
{
	GENERATED_BODY()

public:
	virtual bool InitializePlayer() = 0;
	virtual bool BuildMissionSystem() = 0;
	virtual class UMissionComponent* RequestMissionComponent() = 0;
	virtual bool LoadOrCreateNewGame() = 0;
	virtual EInteractionType GetAvailableInteractionType() = 0;
	virtual bool UpdateAvailableInteractionType(EInteractionType InteractionType) = 0;
};
